The volume, use and complexity of computers and electronic devices are continually increasing. Computers consistently become more powerful and improved electronic devices are continually developed (e.g., digital audio players, video players). Additionally, the growth and use of digital media (e.g., digital audio, video, images, and the like) have further pushed development of these devices. Such growth and development has vastly increased the amount of information desired/required to be stored and maintained for computer and electronic devices.
Generally, information is stored and maintained in one or more of a number of types of storage devices. Storage devices include long term storage mediums such as, for example, hard disk drives, compact disk drives and corresponding media, digital video disk (DVD) drives, and the like. The long term storage mediums typically store larger amounts of information at a lower cost, but are slower than other types of storage devices. Storage devices also include memory devices, which are often, but not always, short term storage mediums.
Memory devices tend to be substantially faster than long term storage mediums. Such memory devices include, for example, dynamic random access memory (DRAM), static random access memory (SRAM), double data rate memory (DDR), flash memory, read only memory (ROM), and the like. Memory devices are subdivided into volatile and non-volatile types. Volatile memory devices generally lose their information if they lose power and typically require periodic refresh cycles to maintain their information. Volatile memory devices include, for example, random access memory (RAM), DRAM, SRAM and the like. Non-volatile memory devices maintain their information whether or not power is maintained to the devices. Non-volatile memory devices include, but are not limited to, ROM, programmable read only memory (PROM), erasable programmable read only memory (EPROM), flash memory and the like. Volatile memory devices generally provide faster operation at a lower cost as compared to non-volatile memory devices.
Memory devices generally include arrays of memory cells. Each memory cell can be accessed or “read”, “written”, and “erased” with information. The memory cells can typically maintain information in an “off” or an “on” state (e.g., are limited to 2 states), also referred to as “0” and “1”. Typically, a memory device is addressed to retrieve a specified number of byte(s) (e.g., 8 memory cells per byte). For volatile memory devices, the memory cells must be periodically “refreshed” in order to maintain their state.
At the same time, emerging mobile devices such as mobile telephones, smart phones, and handheld computers are commonly incorporating such persistent storage functionality. Moreover, often a user has a plurality of such devices for which synchronization and/or cross-pollination of data is desired. By way of example, it is not uncommon for a user to have a PDA, a mobile telephone, a home personal computer (PC) and a work PC, wherein cross-pollination of data between such devices facilitates the user's efficiency.
Accordingly, and as file systems on persistent storage devices become more strategic and popular, new challenges can arise for efficient and proper maintenance of such systems. For example, in general there exists little or no support for file change tracking in non-volatile memory, as existing file change tracking technology typically operates on Random Access Memory (RAM).
Therefore, there is a need to overcome the aforementioned exemplary deficiencies associated with conventional systems and devices.